﻿namespace KIMS.Services;

/// <summary>
/// 首页服务接口。
/// </summary>
public interface IHomeService : IService
{
    /// <summary>
    /// 异步获取首页数据。
    /// </summary>
    /// <returns></returns>
    Task<HomeInfo> GetHomeAsync();
}

/// <summary>
/// 首页Http客户端类，当进入Wasm模式时会启用。
/// 添加模块Client类的同时，请记得在AddXXXClient方法中注入。
/// </summary>
/// <param name="http"></param>
[Client]
class HomeClient(HttpClient http) : ClientBase(http), IHomeService
{
    public Task<HomeInfo> GetHomeAsync()
    {
        // url规则：
        // - Home为服务类名称，需删除Service后缀
        // - GetHome为方法名称，需删除Async后缀
        return Http.GetAsync<HomeInfo>("/Home/GetHome");
    }
}